 //控制层 
app.controller('typeTemplateController' ,function($scope,$controller,specificationService,typeTemplateService,brandService){
	
	$controller('baseController',{$scope:$scope});//继承
	
    //读取列表数据绑定到表单中  
	$scope.findAll=function(){
		typeTemplateService.findAll().success(
			function(response){
				$scope.list=response;
			}			
		);
	}    
	
	//分页
	$scope.findPage=function(page,rows){			
		typeTemplateService.findPage(page,rows).success(
			function(response){
				$scope.list=response.rows;	
				$scope.paginationConf.totalItems=response.total;//更新总记录数
			}			
		);
	};
	
	//查询实体 
	$scope.findOne=function(id){				
		typeTemplateService.findOne(id).success(
			function(response){
				$scope.entity= response;
				//转换数据格式
                $scope.entity.brandIds = JSON.parse($scope.entity.brandIds);
                $scope.entity.specIds = JSON.parse($scope.entity.specIds);
                $scope.entity.customAttributeItems = JSON.parse($scope.entity.customAttributeItems);

			}
		);				
	};
	
	//保存 
	$scope.save=function(){				
		var serviceObject;//服务层对象  				
		if($scope.entity.id!=null){//如果有ID
			serviceObject=typeTemplateService.update( $scope.entity ); //修改  
		}else{
			serviceObject=typeTemplateService.add( $scope.entity  );//增加 
		}				
		serviceObject.success(
			function(response){
				if(response.success){
					//重新查询 
		        	$scope.reloadList();//重新加载
				}else{
					alert(response.message);
				}
			}		
		);				
	};
	
	 
	//批量删除 
	$scope.dele=function(){			
		//获取选中的复选框			
		typeTemplateService.dele( $scope.selectIds ).success(
			function(response){
				if(response.success){
					$scope.reloadList();//刷新列表
					$scope.selectIds=[];
				}						
			}		
		);				
	};
	
	$scope.searchEntity={};//定义搜索对象 
	
	//搜索
	$scope.search=function(page,rows){			
		typeTemplateService.search(page,rows,$scope.searchEntity).success(
			function(response){
				$scope.list=response.rows;	
				$scope.paginationConf.totalItems=response.total;//更新总记录数
			}			
		);
	};
    //编写过滤品牌规格,扩展属性的json格式数据
	//参数1:json格式数据
	//参数2:json的key
	$scope.jsonToStr=function (jsonStr, key) {
		//将json数据转化为json对象
		var jsonObj = JSON.parse(jsonStr);
		//定义空串接收数组
		var value ="";
		//遍历json对象,组装数组
		for(var i = 0;i < jsonObj.length;i++){
			if (i>0){
				value+=",";
			}
			//组装数据
			value+=jsonObj[i][key];
		}
        return value;
    };

    //定义一个品牌select2接口的方法
    $scope.findBrandSelect2List=function () {
		brandService.findBrandSelect2List().success(function (data) {
			$scope.brandList= {data:data};
        })
    };
    //定义一个规格select2接口的方法
    $scope.findSpecificationList=function () {
        specificationService.findSpecificationList().success(function (data) {
			$scope.specificationList= {data:data};
        })
    };

    //添加一行的方法
    $scope.addTableRow = function () {
        $scope.entity.customAttributeItems.push({});
    };

    //删除行
    //删除规格选项行
    $scope.deleTableRow = function (index) {
        $scope.entity.customAttributeItems.splice(index,1);
    }
});	
